package day05;

import java.util.Random;

/**  方法的演示：返回值*/
public class MethodDemo2 {
    public static void main(String[] args) {

        /*

        执行过程：
        走主方法main → int a = sum(5,6)，走方法sum → int num = num1 + num2 ， return num → 将返回值赋值给sum（5,6）→ 赋值给a

        */
        int a = sum(5,6);  //sum(5,6)的值就是return后的那个数      //用变量a接受方法sum返回的值
        System.out.println(a);  //11------模拟对返回值的后续操作

        int m = 5, n = 6;
        int b = sum(m,n);  //传的是m和n里面的数
        System.out.println(b);  //11------模拟对返回值的后续操作

        int [] c = generateArray(5,10);  //----------模拟第1个人访问
        System.out.println("长度为："+c.length);  //-------------模拟对返回值的后续操作


        int [] d = generateArray(10,30);  //--------模拟第2个人访问
        System.out.println("第1个元素的值为："+d[0]);  //-----------模拟对返回值的后续操作
        for (int i = 0; i < d.length; i++) {   //----------------模拟对返回值的后续操作
            System.out.println(d[i]);
        }



    }

    //返回的是num里面的那个数，返回值的类型与定义的类型相同，调用的类型与返回的类型相同
    public static int sum(int num1, int num2){
        int num = num1 + num2;
        return num;  //模拟对返回值的后续操作
        //  return num1+num2;  //返回的是num1与num2的和

    }

    //无参有返回值
    //生成一个整形数组，填充随机数据并返回
    public static int [] generateArray(int len ,int max){
        Random r = new Random();
        int [] arr = new int [len];
        for (int i = 0; i < arr.length; i++) {
            arr [i] = r.nextInt(max+1);
        }
        return arr;
    }





}
